Some companies and organizations, especially those that keep thorough client records, manage databases that can grow to sizes of terabytes and larger. In databases of these sizes, it becomes increasingly costly to run simple queries against the entire database. To avoid this, a company may copy a portion of the database to an external staging area to allow employees to have faster access to data they are likely to use. For example, an insurance claim manager may be assigned to handle claims from a small region. Thus, the company may provide the claim manager with a copy of the data that only includes information on claims from that region: However, any changes an employee makes to their portion of the database must be propagated back to the original database. This may be expensive. Furthermore, propagating changes may lead to race conditions if two portions of the database contain overlapping data.
Additionally, many businesses utilize data that must be kept secure. For example, some medical applications and insurance applications must comply with the Health Insurance Portability and Accountability Act (HIPAA) to prevent negligent, malicious, and/or otherwise inappropriate uses of patient data. In another example, credit companies may employ databases including social security numbers and other data that, if it were to fall into the wrong hands, could lead to increased identity theft risk for a company's clients. Some regulations and/or company policies may require that certain data not be shown to certain employees. Some conventional systems that employ an external database as described above simply supply a NULL value when an employee does not have proper clearance. This may cause some downstream applications to break due to the lack of a required value. Other conventional systems may mask values supplied to an employee without proper clearance. However, these systems may also cause conflicts both with downstream applications and when data is being propagated back to the original database.